package com.itlaobing.core;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 1、Statement 接口中声明的 executeUpdate( String ) 方法用于"执行" DDL语句 或 DML语句
 * 2、DML语句应该在一个事务中执行，因此应该处理与被执行的DML相关的事务。(本类中暂时不处理事务)
 */
public class ExecuteDML {

    /**
     *  DML (Database Manipulation Language) 数据操纵语言
     *  可执行操作：insert / update / delete
     */
    public static void main(String[] args) throws Exception {

        JdbcUtils jdbcUtils = JdbcUtils.getInstace(DatabaseType.MYSQL);

        jdbcUtils.load();
        Connection connection = jdbcUtils.connection();
        Statement statement = jdbcUtils.statement(connection);

        String sql =  "INSERT INTO t_user ( id , name ) VALUES ( 1 , '郭芙' ) , ( 2 , '郭襄') , ( 3 , '郭破虏' )" ;

        int count = statement.executeUpdate(sql);// 通过 executeUpdate "执行" DML语句 则返回 受该SQL响应记录数目
        System.out.println( count ); // 值得注意的是"执行"DML语句后所返回的值也可能是 零
        jdbcUtils.release(statement,connection);
    }
}
